import axios from 'axios'
import { ElMessage } from 'element-plus/dist/index.full.js'

export const baseURL = process.env.NODE_ENV === 'production' ? '/bdata/datastudio-asset-management-server/v' : '/bdata/datastudio-asset-management-server/v'

const service = axios.create({
  baseURL,
  timeout: 50000
})

service.interceptors.request.use(config => {
  return config
}, error => {
  return Promise.reject(error)
})

service.interceptors.response.use(res => {
  const data = res.data;
  if(data.result_code == 0){
    return data
  } else {
    ElMessage({ message: res.data.result_msg, type: 'error' })
    return Promise.reject(data)
  }
}, error => {
  let { message } = error;
  if (message == "Network Error") {
    message = "后端接口连接异常";
  } else if (message.includes("timeout")) {
    message = "系统接口请求超时";
  } else if (message.includes("Request failed with status code")) {
    message = "系统接口" + message.substr(message.length - 3) + "异常";
  }
  ElMessage({ message: message, type: 'error', duration: 5 * 1000 })
  return Promise.reject(error)
})

export default service